package define

import (
	mod "gluenet/utils/modules/define"
)

const (
	LogTypeInfo    = "info"
	LogTypeWarning = "warning"
	LogTypeError   = "error"

	GuidTypeRegister   = "register"
	GuidTypeUnRegister = "unregister"
)

type GuidRegisterRequest struct {
	Type  string         `json:"type" yaml:"type"`
	Agent *mod.AgentInfo `json:"agent" yaml:"agent"`
}

type GuidRegisterResponse struct {
	Agent *mod.AgentInfo `json:"agent" yaml:"agent"`
}

type HeartBeatPutRequest struct {
	HeartBeats map[string]HeartBeat `json:"heartbeat" yaml:"heartbeat"`
}

type MetricsPutRequest struct {
	Metrics map[string][]mod.Metrics `json:"metrics" yaml:"metrics"`
}

type LogPushRequest struct {
	Logs map[string][]mod.LogInfo `json:"logs" yaml:"logs"`
}

type TracePutRequest struct {
	Trace map[string][]mod.Trace `json:"trace" yaml:"trace"`
}

type HeartBeat struct {
	Status string `json:"status" yaml:"status"`
	Type   string `json:"type" yaml:"type"`
}
